package done.easy_801_900;

import org.junit.Test;

import static com.study.util.LogUtil.info;

/**
 * 844. Backspace String Compare 比较含退格的字符串
 * <p>
 * 给定 S 和 T 两个字符串，当它们分别被输入到空白的文本
 * 编辑器后，判断二者是否相等，并返回结果。 # 代表退格字符。
 * <p>
 * 示例 1：
 * 输入：S = "ab#c", T = "ad#c"
 * 输出：true
 * 解释：S 和 T 都会变成 “ac”。
 * 示例 2：
 * 输入：S = "ab##", T = "c#d#"
 * 输出：true
 * 解释：S 和 T 都会变成 “”。
 * 解题思路：
 * abc#de#f#g
 * c# 去掉第一个#前面的一个字符
 * ab  de#f#g
 * abde#f#g
 * e# 去掉第一个#前面的一个字符
 * abd  f#g
 * abdf#g
 * f# 去掉第一个#前面的一个字符
 * abd  g
 * abdg 返回
 *
 * @author 大硕
 * 2019-04-11 7:47 AM
 **/
@SuppressWarnings("all")
public class BackspaceStringCompare {

    public boolean backspaceCompare(String S, String T) {
        // 190411 first
        return false;
    }

    @Test
    public void test() {
        info(backspaceCompare("ab##c", "ad#c"));
    }
}













































/*
public boolean backspaceCompare(String S, String T) {
    return trim(S).equals(trim(T));
}

public String trim(String s) {
    int index = s.indexOf('#');
    // 字符串中不存在'#'
    if (index == -1) {
        return s;
    }
    // 保存第一个 '#' 与被删字符前的字符串, 三目运算防止第一个字符就是 '#', 以造成数组越界
    String pre = s.substring(0, index - 1 >= 0 ? index - 1 : 0);
    // 保存第一个 '#' 后的字符串
    String suf = s.substring(index + 1);
    // suf 第一个字符也有可能是 '#', 这是需要删掉 pre 中的一个字符
    // 所以调用 trim(pre + suf), 而不是 pre + trim(suf)
    return trim(pre + suf);
}
*/
